home *** CD-ROM | disk | FTP | other *** search
- ;
- ;
- ; Thomas Nofsinger
- ; cccc ASM 290
- ; 4/17/89
- ;
- ; PROGRAM LISTING FOR NORPT.COM
- ;
- ; THIS PROGRAM WILL TURN OFF THE REPEAT FUNCTION OF THE KEYBOARD,
- ; AND STAY MEMORY RESIDENT. IT IS CODED FOR MY HARDWARE AND MAY NOT
- ; WORK ON ALL CLONES AND REAL PC'S.
- ;
-
- CSEG SEGMENT
- ASSUME CS:CSEG ;NO STACK SEG!
-
- ORG 100H ;A .COM file
- BEGIN:
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'N'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'O'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'R'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'P'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'T'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,' '
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'I'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'N'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'S'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'T'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'A'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'L'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'L'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'E'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'D'
- MOV CX,1
- MOV AH,14
- INT 10H
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,' '
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,' '
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,' '
- MOV CX,1
- MOV AH,14
- INT 10h
-
- INT 10h
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'C'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'O'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'P'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'Y'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'R'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'I'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'G'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'H'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'T'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,' '
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'1'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'9'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'8'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'9'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,' '
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'N'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'O'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'F'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'S'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'I'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'N'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'G'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'E'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'R'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,','
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,' '
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'T'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'H'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'O'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'M'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'A'
- MOV CX,1
- MOV AH,14
- INT 10h
-
- MOV BH,0 ;COPYRIGHT NOTICE WITHOUT IO.LIB
- MOV BL,15
- MOV AL,'S'
- MOV CX,1
- MOV AH,14
- INT 10h
-
-
- JMP START
-
- BIOS_INT_9 DD ?
- LASTKEY DB ?
-
- INT9_TASK PROC FAR
-
- ASSUME DS:nothing
-
- PUSH AX
-
- IN AL,60h ;READ PORT A OF 8255 FOR KEYS
-
- TEST AL,80h ;TEST FOR BREAK KEY
-
- JNZ KEY_IN ;IT IS A BREAK KEY - TAKE IT IN
-
- CMP AL,LASTKEY
- JNZ KEY_IN ;KEY TO PROCESS
-
- IN AL,61h ;FEED PORT B ON THE 8255 A HIGH BIT 7
- OR AL,80h ;TO ACK DATA
- OUT 61H,AL
- AND AL,7Fh ;CLEAR BIT 7 (LOW)
- OUT 61h,AL
-
- MOV AL,20h ;HARDWARE INTERRUPT DONE
- OUT 20h,AL ;SIGNAL TO THE 8255
-
- POP AX
- IRET ;DUPED KEY STROKE --> BIT BUCKET
-
- KEY_IN:
-
- MOV LASTKEY,AL ;SAVE KEY FOR NEXT CYCLE
- PUSHF
- CALL BIOS_INT_9 ;PASS TO BIOS TO PROCESS THE KEY
- POP AX
- IRET
-
- End_Resident EQU $
-
- INT9_TASK ENDP
-
-
- START PROC NEAR
-
- ASSUME DS:CSEG
-
- MOV LASTKEY,80h ;intialize LASTKEY
-
- MOV AL,9 ;READ AND RECORD BIOS INT 9 VECTOR
- MOV AH,35h
- INT 21h
- MOV WORD PTR BIOS_INT_9,BX
- MOV WORD PTR BIOS_INT_9[2],ES
-
- MOV DX,offset INT9_TASK ;POINT INT 9 VECTOR TO THIS TASK
- MOV AL,9
- MOV AH,25h
- INT 21h
-
- LEA DX,End_Resident ;TSR
- INT 27h
-
- START ENDP
- CSEG ENDS
- END BEGIN
-
-